Zum Hauptinhalt springen

Regex — Muster in Text finden

Regex (Regular Expressions, reguläre Ausdrücke) ist eine Sprache um Muster in Text zu beschreiben. Statt zu sagen "finde den Text 'Rechnung'" sagst du "finde eine Folge von Ziffern nach dem Wort 'Nr.'". Regex ist in JavaScript Agents, manchen Parsing-Schritten und Validierungen direkt nutzbar.


Wann Regex, wann LLM?

Regex ist hard-coded Logik — präzise, schnell, deterministisch. Es eignet sich wenn die Struktur des gesuchten Musters bekannt und vorhersagbar ist:

  • IBAN immer DE + 20 Ziffern → Regex ✓
  • Datum immer im Format DD.MM.YYYY → Regex ✓
  • Rechnungsnummer ohne bekanntes Format, variiert je Lieferant → LLM ✓

Grundbausteine

Literale Zeichen

Das einfachste Muster: der gesuchte Text selbst.

Muster GmbH

Findet exakt den Text "Muster GmbH". Groß-/Kleinschreibung wird standardmäßig unterschieden.

Der Punkt — beliebiges Zeichen

. steht für ein beliebiges einzelnes Zeichen (außer Zeilenumbruch):

Re.2026

Findet "Re-2026", "Re.2026", "Re 2026" — jedes Zeichen an dieser Stelle.

Zeichenklassen — eine Auswahl

[...] definiert eine Auswahl erlaubter Zeichen:

[0-9]       // eine Ziffer
[a-z] // ein Kleinbuchstabe
[a-zA-Z] // ein Buchstabe (groß oder klein)
[.-/] // ein Punkt, Bindestrich oder Schrägstrich

Quantoren — wie oft?

ZeichenBedeutung
*0 oder mehr
+1 oder mehr
?0 oder 1 (optional)
{3}genau 3 mal
{2,4}2 bis 4 mal

Ankerpunkte

ZeichenBedeutung
^Anfang der Zeile
$Ende der Zeile
\bWortgrenze

Vordefinierte Zeichenklassen

ZeichenBedeutung
\dZiffer ([0-9])
\wWortzeichen ([a-zA-Z0-9_])
\sLeerzeichen, Tab, Zeilenumbruch
\Dkein Ziffernzeichen

Praxisbeispiele

IBAN erkennen

DE\d{20}

DE — literal, dann \d{20} — genau 20 Ziffern. Findet "DE12345678901234567890".

Datum im deutschen Format

\d{2}\.\d{2}\.\d{4}

Zwei Ziffern, Punkt, zwei Ziffern, Punkt, vier Ziffern. Findet "10.03.2026".

E-Mail-Adresse (vereinfacht)

[\w.-]+@[\w.-]+\.\w{2,}

Wortzeichen/Punkte/Bindestriche, dann @, dann Domain, dann Punkt und mindestens zwei Buchstaben.

Rechnungsnummer mit bekanntem Präfix

RE-\d{4}-\d{3,6}

Findet "RE-2026-042" oder "RE-2025-10042". Wenn das Format deiner Rechnungsnummern fest ist, ist Regex die richtige Wahl.


Regex in JavaScript Agents

// Muster definieren
const iban_pattern = /DE\d{20}/;

// Prüfen ob ein Muster vorkommt
const has_iban = iban_pattern.test(input.text); // true/false

// Ersten Treffer extrahieren
const match = input.text.match(/RE-\d{4}-\d{3,6}/);
const invoice_number = match ? match[0] : null;

// Alle Treffer finden
const all_dates = input.text.match(/\d{2}\.\d{2}\.\d{4}/g) || [];

// Text ersetzen
const cleaned = input.text.replace(/\s+/g, ' '); // mehrfache Leerzeichen → eins

Regex testen

Regex-Ausdrücke sind oft beim ersten Versuch nicht ganz richtig. Unter regex101.com kannst du Ausdrücke interaktiv testen — du siehst sofort was gefunden wird und bekommst eine Erklärung was jeder Teil des Ausdrucks bedeutet. Sprache auf "JavaScript" stellen da 42°OS-Agents JavaScript nutzen.


Wann kein Regex

Regex ist ungeeignet wenn:

  • Das Muster zu variabel ist um es vorab zu beschreiben (→ LLM)
  • Es sich um verschachtelten Text handelt (HTML, XML → Parser nutzen)
  • Die Lesbarkeit leidet und ein einfaches split() oder indexOf() ausreicht